The Universal Serial Bus (USB) 2.0 specification defines the communication between one USB host and up to 127 USB devices connected in a tiered-star topology. USB hubs are included in the tiers, allowing branching into a tree structure with up to five tier levels. A USB host may have multiple host controllers, and each host controller may provide one or more USB ports. The USB devices are linked in series through hubs, and the USB host manages the bus.
When a USB device is first connected to a USB host, the USB device enumeration process is started. The enumeration starts by sending a reset signal to the USB device. The data rate of the USB device is determined during the reset signaling. After reset, the USB device's information is read by the host and the device is assigned a unique seven-bit address. If the device is supported by the host, the device drivers needed for communicating with the device are loaded and the device is set to a configured state. If the USB host is restarted, the enumeration process is repeated for all connected devices. The host controller directs traffic flow to devices, so no USB device can transfer any data on the bus without an explicit request from the host controller. In USB 2.0, the host controller polls the bus for traffic, usually in a round-robin fashion.
The USB standard is limited to 5 meter long cables, and other known solutions do not operate over a network having multiple USB hosts and distributed control. Therefore, there is a need for a network having multiple USB hosts, multiple USB devices, edge initiating of USB connections, edge addressing of USB packets, bandwidth allocation, and/or combinations thereof.